// 轻量级Mock工具
const Mock = {
  // 存储mock数据
  _mocked: {},
  
  // 注册mock数据
  mock: function(url, template) {
    // 如果只有一个参数，则是生成mock数据
    if (arguments.length === 1) {
      return this.generate(url);
    }
    // 两个参数，则是注册mock数据
    this._mocked[url] = { template };
    return this;
  },
  
  // 基础mock数据生成方法
  generate: function(template) {
    if (typeof template === 'string') {
      return template;
    }
    if (typeof template === 'number') {
      return template;
    }
    if (Array.isArray(template)) {
      return template.map(item => this.generate(item));
    }
    if (typeof template === 'object' && template !== null) {
      const result = {};
      for (const key in template) {
        result[key] = this.generate(template[key]);
      }
      return result;
    }
    return template;
  },
  
  // 随机方法
  Random: {
    string: (length = 10) => Math.random().toString(36).substr(2, length),
    integer: (min = 0, max = 100) => Math.floor(Math.random() * (max - min + 1)) + min,
    boolean: () => Math.random() > 0.5,
    date: () => new Date().toISOString(),
    url: () => 'https://example.com',
    image: () => '',
    name: () => '用户' + Math.floor(Math.random() * 1000),
    email: () => 'user' + Math.floor(Math.random() * 1000) + '@example.com'
  }
};

module.exports = Mock; 